<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <meta name="Author" content="Johannes Sixt">
   <title>KDbg - Benutzerhandbuch - Haltepunkte</title>
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><a href="index.html">Inhalt</a></p>
<h1>
Die Liste der Haltepunkte</h1>
<p>Die Liste der Haltepunkte zeigt alle gesetzten Haltepunkte und Watchpoints
und ermöglicht, diese zu manipulieren. Die Liste der Haltepunkte können
Sie mit dem Menüpunkt <i>Ansicht|Haltepunkte</i> anzeigen.</p>
<h2>
Die Übersicht</h2>
Für jeden Haltepunkt wird folgendes angezeigt:
<ul>
<li>
der Ort,</li>

<li>
die Anzahl der Stopps,</li>

<li>
die Anzahl der nächsten zu ignorierenden Stopps (falls gesetzt)</li>

<li>
die Haltebedingung (falls gesetzt).</li>
</ul>
<p>Das Piktogramm links zeigt an, ob der Haltepunkt aktiviert (tiefroter Punkt)
oder deaktiviert (hellroter Punkt) ist, ob es sich um einen temporären
Haltepunkt handelt (eine winzige Uhr ist sichtbar) und ob der Haltepunkt
bedingt ist (ein Fragezeichen ist sichtbar).</p>
<p>Watchpoints werden durch ein Brillensymbol gekennzeichnet.</p>
<h2>
Haltepunkte manipulieren</h2>
<p><a NAME="StopProg"></a>Beachten Sie bitte, dass Haltepunkte und Watchpoints
nicht manipuliert werden können solange das zu debuggende Programm
läuft. Wenn das Programm bereits gestartet wurde, muss es zuerst angehalten
werden - entweder indem es auf einen bereits gesetzten Haltepunkt trifft
oder "gewaltsam" indem Sie <i>Ausführung|Unterbrechen</i> wählen.
Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie
können die Haltepunkte jetzt verändern. Wählen Sie danach
<i>Ausführung|Ausführen</i>,
um das Programm fortzusetzen.</p>
<p>Am einfachsten kann ein Haltepunkt im <a href="sourcecode.html">Quellcode-Fenster</a>
gesetzt werden. Wenn Sie den genauen Dateinamen und die Zeilennummer einer
Funktion nicht kennen, können Sie den Funktionsnamen im Feld über
der Liste eingeben und <i>Haltepunkt</i> wählen.</p>
<p>Sie können eine Haltepunkt in der Liste auswählen seine Zustand
mittels <i>Deaktivieren</i> oder <i>Aktivieren</i> ändern. Oder Sie
klicken auf den Haltepunkt mit der mittleren Maustaste - genau so, wie
Sie im Quellcode-Fenster Haltepunkte aktivieren und deaktivieren.</p>
<p>Sie können eine Bedingung setzen (sodass das Programm nur stehen
bleibt, wenn die Bedingung erfüllt ist) oder die Anzahl der zu ignorierenden
Stopps setzen (sodass das Programm die nächsten n Male nicht stehen
bleibt, die es über diesen Haltepunkt läuft). Dazu wählen
sie den Schalter <i>Bedingt</i> und geben die Anzahl der zu ignorierenden
Treffer und/oder die Bedingung ein.</p>
<h2>
Watchpoints manipulieren</h2>
<p>Watchpoints sind den Haltepunkten ähnlich, nur dass das Programm angehalten
wird, sobald sich der Inhalt einer Speicherstelle ändert. Ebenso wie
Haltepunkte können Watchpoints nicht manipuliert werden, solange das
Programm läuft. Weitere Hinweise dazu <a href="#StopProg">siehe oben</a>.</p>
<p>Einen Watchpoint können Sie setzen, indem Sie einen Ausdruck im
Feld über der Liste eingeben und <i>Watchpoint</i> klicken. Das Programm
wird dann angehalten, sobald sich der Wert des Ausdrucks ändert. Beachten
Sie, dass Sie Watchpoints, die eine lokale Variable benötigen, nur
setzen können, wenn das Programm von einem Haltepunkt (oder mittels
Ausführung|Unterbrechen) angehalten wurde.</p>
<p>Zum Entfernen eines Watchpoints wählen Sie diesen in der Liste
aus und klicken <i>Entfernen</i>. Falls der Ausdruck eine lokale Variable
enthält, wird der Watchpoint automatisch entfernt, sobald das Programm
die aktive Funktion verlässt.</p>
<p>Wie mit Haltepunkten können Sie eine Bedingung oder eine Anzahl
zu ignorierender Stopps setzen, indem Sie den Watchpoint auswählen
und <i>Bedingt</i> klicken.</p>
</body>
</html>
